<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>DROP OPERATOR CLASS</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REV="MADE"
HREF="mailto:pgsql-docs@postgresql.org"><LINK
REL="HOME"
TITLE="PostgreSQL 9.1.2 Documentation"
HREF="index.html"><LINK
REL="UP"
TITLE="SQL Commands"
HREF="sql-commands.html"><LINK
REL="PREVIOUS"
TITLE="DROP OPERATOR"
HREF="sql-dropoperator.html"><LINK
REL="NEXT"
TITLE="DROP OPERATOR FAMILY"
HREF="sql-dropopfamily.html"><LINK
REL="STYLESHEET"
TYPE="text/css"
HREF="stylesheet.css"><META
HTTP-EQUIV="Content-Type"
CONTENT="text/html; charset=ISO-8859-1"><META
NAME="creation"
CONTENT="2011-12-01T22:07:59"></HEAD
><BODY
CLASS="REFENTRY"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="5"
ALIGN="center"
VALIGN="bottom"
><A
HREF="index.html"
>PostgreSQL 9.1.2 Documentation</A
></TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="top"
><A
TITLE="DROP OPERATOR"
HREF="sql-dropoperator.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="top"
><A
HREF="sql-commands.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="60%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="20%"
ALIGN="right"
VALIGN="top"
><A
TITLE="DROP OPERATOR FAMILY"
HREF="sql-dropopfamily.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><H1
><A
NAME="SQL-DROPOPCLASS"
></A
>DROP OPERATOR CLASS</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN70839"
></A
><H2
>Name</H2
>DROP OPERATOR CLASS&nbsp;--&nbsp;remove an operator class</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN70844"
></A
><H2
>Synopsis</H2
><PRE
CLASS="SYNOPSIS"
>DROP OPERATOR CLASS [ IF EXISTS ] <TT
CLASS="REPLACEABLE"
><I
>name</I
></TT
> USING <TT
CLASS="REPLACEABLE"
><I
>index_method</I
></TT
> [ CASCADE | RESTRICT ]</PRE
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN70848"
></A
><H2
>Description</H2
><P
>   <TT
CLASS="COMMAND"
>DROP OPERATOR CLASS</TT
> drops an existing operator class.
   To execute this command you must be the owner of the operator class.
  </P
><P
>   <TT
CLASS="COMMAND"
>DROP OPERATOR CLASS</TT
> does not drop any of the operators
   or functions referenced by the class.  If there are any indexes depending
   on the operator class, you will need to specify
   <TT
CLASS="LITERAL"
>CASCADE</TT
> for the drop to complete.
  </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN70855"
></A
><H2
>Parameters</H2
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="LITERAL"
>IF EXISTS</TT
></DT
><DD
><P
>      Do not throw an error if the operator class does not exist. A notice is issued
      in this case.
     </P
></DD
><DT
><TT
CLASS="REPLACEABLE"
><I
>name</I
></TT
></DT
><DD
><P
>      The name (optionally schema-qualified) of an existing operator class.
     </P
></DD
><DT
><TT
CLASS="REPLACEABLE"
><I
>index_method</I
></TT
></DT
><DD
><P
>      The name of the index access method the operator class is for.
     </P
></DD
><DT
><TT
CLASS="LITERAL"
>CASCADE</TT
></DT
><DD
><P
>      Automatically drop objects that depend on the operator class.
     </P
></DD
><DT
><TT
CLASS="LITERAL"
>RESTRICT</TT
></DT
><DD
><P
>      Refuse to drop the operator class if any objects depend on it.
      This is the default.
     </P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN70883"
></A
><H2
>Notes</H2
><P
>   <TT
CLASS="COMMAND"
>DROP OPERATOR CLASS</TT
> will not drop the operator family
   containing the class, even if there is nothing else left in the
   family (in particular, in the case where the family was implicitly
   created by <TT
CLASS="COMMAND"
>CREATE OPERATOR CLASS</TT
>).  An empty operator
   family is harmless, but for the sake of tidiness you might wish to
   remove the family with <TT
CLASS="COMMAND"
>DROP OPERATOR FAMILY</TT
>; or perhaps
   better, use <TT
CLASS="COMMAND"
>DROP OPERATOR FAMILY</TT
> in the first place.
  </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN70890"
></A
><H2
>Examples</H2
><P
>   Remove the B-tree operator class <TT
CLASS="LITERAL"
>widget_ops</TT
>:

</P><PRE
CLASS="PROGRAMLISTING"
>DROP OPERATOR CLASS widget_ops USING btree;</PRE
><P>

   This command will not succeed if there are any existing indexes
   that use the operator class.  Add <TT
CLASS="LITERAL"
>CASCADE</TT
> to drop
   such indexes along with the operator class.
  </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN70896"
></A
><H2
>Compatibility</H2
><P
>   There is no <TT
CLASS="COMMAND"
>DROP OPERATOR CLASS</TT
> statement in the
   SQL standard.
  </P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN70900"
></A
><H2
>See Also</H2
><A
HREF="sql-alteropclass.html"
>ALTER OPERATOR CLASS</A
>, <A
HREF="sql-createopclass.html"
>CREATE OPERATOR CLASS</A
>, <A
HREF="sql-dropopfamily.html"
>DROP OPERATOR FAMILY</A
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="sql-dropoperator.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="sql-dropopfamily.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>DROP OPERATOR</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="sql-commands.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>DROP OPERATOR FAMILY</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>